package main

import (
	"fmt"
	"github.com/hajimehoshi/ebiten/v2"
	"github.com/hajimehoshi/ebiten/v2/ebitenutil"
	"os"
)

type Game struct {
	// This field must be public so that the field can be accessed from outside.
}

func (g *Game) Update() error {

	return nil
}

func (g *Game) Draw(screen *ebiten.Image) {
	fmt.Println(1)
	ebitenutil.DebugPrint(screen, "hellow,world")

	// Draw 是游戏的绘制函数，用于更新每一帧的游戏画面。
	// 此函数由 Ebiten 库调用，通常不由开发者直接调用。
	// 参数:
	//   screen: 指向 ebiten Image 对象的指针，用于绘制游戏画面。
}

func (g *Game) Layout(outerWidth, outerHeight int) (screenWidth, screenHeight int) {
	// Layout 方法用于确定游戏窗口的布局尺寸。
	// 它忽略了外部提供的尺寸参数，始终返回固定的屏幕宽度和高度。
	// 这种设计可能是为了保持游戏界面的一致性和兼容性。
	//
	// 参数:
	// outerWidth, outerHeight - 游戏窗口外部框架的宽度和高度，单位为像素。
	//
	// 返回值:
	// screenWidth, screenHeight - 游戏界面内部的宽度和高度，单位为像素。
	// 这些值用于定义游戏视图的显示区域大小。
	return 320, 240
}

func main() {
	_, err := os.Create("D:\\workspace\\study\\gameDemo\\game.go")
	if err == nil {
		fmt.Println("Vector")
	}

}
